package com.t.bricks.bussiness.db.entity.notes.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 记事本'Notes'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 * @author HuangXinBian
 */
@ApiModel("记事本Notes")
@DataInfo(sDbName="BricksCommonBusiness", sTableName="Notes")
public class NotesBase implements Serializable {

	private static final long serialVersionUID = 1L;// 使用rmi时需修改

	/**
	 * 记录编号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sId", sComment="记录编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=true, isNull=false,
		iMaxLength=25, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=0 )
	@ApiModelProperty(value="记录编号", example="")
	//[end]
	protected String sId;

	/**
	 * 用户编号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sUserId", sComment="用户编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=1 )
	@ApiModelProperty(value="用户编号", example="")
	//[end]
	protected String sUserId;

	/**
	 * 用户名称(冗余)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sUserName", sComment="用户名称(冗余)", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=2 )
	@ApiModelProperty(value="用户名称(冗余)", example="")
	//[end]
	protected String sUserName;

	/**
	 * 标题
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sTitle", sComment="标题", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=40, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=3 )
	@ApiModelProperty(value="标题", example="")
	//[end]
	protected String sTitle;

	/**
	 * 年份
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iYear", sComment="年份", isDbField=true, sDbFileType="int",
		sDefaultData="1900", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=4 )
	@ApiModelProperty(value="年份", example="1900")
	//[end]
	protected Integer iYear;

	/**
	 * 月份
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iMonth", sComment="月份", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=5 )
	@ApiModelProperty(value="月份", example="1")
	//[end]
	protected Integer iMonth;

	/**
	 * 日
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iDay", sComment="日", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=6 )
	@ApiModelProperty(value="日", example="1")
	//[end]
	protected Integer iDay;

	/**
	 * 内容
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sContent", sComment="内容", isDbField=true, sDbFileType="longtext",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=7 )
	@ApiModelProperty(value="内容", example="")
	//[end]
	protected String sContent;

	/**
	 * 类型(字典)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iType", sComment="类型(字典)", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=8 )
	@ApiModelProperty(value="类型(字典)", example="1")
	//[end]
	protected Integer iType;

	/**
	 * 显示类型(字典,1:文本;2:html;3:java;4:其它)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iViewType", sComment="显示类型(字典,1:文本;2:html;3:java;4:其它)", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=9 )
	@ApiModelProperty(value="显示类型(字典,1:文本;2:html;3:java;4:其它)", example="1")
	//[end]
	protected Integer iViewType;

	/**
	 * 附件路径(相对路径,多个路径以';'分隔)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sFilePath", sComment="附件路径(相对路径,多个路径以';'分隔)", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=255, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=10 )
	@ApiModelProperty(value="附件路径(相对路径,多个路径以';'分隔)", example="")
	//[end]
	protected String sFilePath;

	/**
	 * 备注
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sMemo", sComment="备注", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=11 )
	@ApiModelProperty(value="备注", example="")
	//[end]
	protected String sMemo;

	/**
	 * 创建人员
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sCreator", sComment="创建人员", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=12 )
	@ApiModelProperty(value="创建人员", example="00000000")
	//[end]
	protected String sCreator;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="dCreateDate", sComment="创建时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=13 )
	@ApiModelProperty(value="创建时间", example="")
	//[end]
	protected Date dCreateDate;

	/**
	 * 修改人员
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="sModifieder", sComment="修改人员", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=14 )
	@ApiModelProperty(value="修改人员", example="00000000")
	//[end]
	protected String sModifieder;

	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="dModifiedDate", sComment="修改时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=false, iIntegralLength=-1, iDecimalLength=-1, iIndex=15 )
	@ApiModelProperty(value="修改时间", example="")
	//[end]
	protected Date dModifiedDate;

	/**
	 * 状态
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iState", sComment="状态", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=16 )
	@ApiModelProperty(value="状态", example="1")
	//[end]
	protected Integer iState;

	/**
	 * 序号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iIndex", sComment="序号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=17 )
	@ApiModelProperty(value="序号", example="1")
	//[end]
	protected Integer iIndex;

	/**
	 * 版本号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="Notes",
		sName="iVersion", sComment="版本号", isDbField=true, sDbFileType="int",
		sDefaultData="1", isExtra=false, iskey=false, isNull=false,
		iMaxLength=100, isDecimal=false, iIntegralLength=2, iDecimalLength=2, iIndex=18 )
	@ApiModelProperty(value="版本号", example="1")
	//[end]
	protected Integer iVersion;

	/**
	 * 取 记录编号
	 * @return String
	 */
	public String getsId() {
		return sId;
	}

	/**
	 * 设置记录编号
	 * @param sId
	 */
	public void setsId(String sId) {
		this.sId = sId;
	}

	/**
	 * 取 用户编号
	 * @return String
	 */
	public String getsUserId() {
		return sUserId;
	}

	/**
	 * 设置用户编号
	 * @param sUserId
	 */
	public void setsUserId(String sUserId) {
		this.sUserId = sUserId;
	}

	/**
	 * 取 用户名称(冗余)
	 * @return String
	 */
	public String getsUserName() {
		return sUserName;
	}

	/**
	 * 设置用户名称(冗余)
	 * @param sUserName
	 */
	public void setsUserName(String sUserName) {
		this.sUserName = sUserName;
	}

	/**
	 * 取 标题
	 * @return String
	 */
	public String getsTitle() {
		return sTitle;
	}

	/**
	 * 设置标题
	 * @param sTitle
	 */
	public void setsTitle(String sTitle) {
		this.sTitle = sTitle;
	}

	/**
	 * 取 年份
	 * @return Integer
	 */
	public Integer getiYear() {
		return iYear;
	}

	/**
	 * 设置年份
	 * @param iYear
	 */
	public void setiYear(Integer iYear) {
		this.iYear = iYear;
	}

	/**
	 * 取 月份
	 * @return Integer
	 */
	public Integer getiMonth() {
		return iMonth;
	}

	/**
	 * 设置月份
	 * @param iMonth
	 */
	public void setiMonth(Integer iMonth) {
		this.iMonth = iMonth;
	}

	/**
	 * 取 日
	 * @return Integer
	 */
	public Integer getiDay() {
		return iDay;
	}

	/**
	 * 设置日
	 * @param iDay
	 */
	public void setiDay(Integer iDay) {
		this.iDay = iDay;
	}

	/**
	 * 取 内容
	 * @return String
	 */
	public String getsContent() {
		return sContent;
	}

	/**
	 * 设置内容
	 * @param sContent
	 */
	public void setsContent(String sContent) {
		this.sContent = sContent;
	}

	/**
	 * 取 类型(字典)
	 * @return Integer
	 */
	public Integer getiType() {
		return iType;
	}

	/**
	 * 设置类型(字典)
	 * @param iType
	 */
	public void setiType(Integer iType) {
		this.iType = iType;
	}

	/**
	 * 取 显示类型(字典,1:文本;2:html;3:java;4:其它)
	 * @return Integer
	 */
	public Integer getiViewType() {
		return iViewType;
	}

	/**
	 * 设置显示类型(字典,1:文本;2:html;3:java;4:其它)
	 * @param iViewType
	 */
	public void setiViewType(Integer iViewType) {
		this.iViewType = iViewType;
	}

	/**
	 * 取 附件路径(相对路径,多个路径以';'分隔)
	 * @return String
	 */
	public String getsFilePath() {
		return sFilePath;
	}

	/**
	 * 设置附件路径(相对路径,多个路径以';'分隔)
	 * @param sFilePath
	 */
	public void setsFilePath(String sFilePath) {
		this.sFilePath = sFilePath;
	}

	/**
	 * 取 备注
	 * @return String
	 */
	public String getsMemo() {
		return sMemo;
	}

	/**
	 * 设置备注
	 * @param sMemo
	 */
	public void setsMemo(String sMemo) {
		this.sMemo = sMemo;
	}

	/**
	 * 取 创建人员
	 * @return String
	 */
	public String getsCreator() {
		return sCreator;
	}

	/**
	 * 设置创建人员
	 * @param sCreator
	 */
	public void setsCreator(String sCreator) {
		this.sCreator = sCreator;
	}

	/**
	 * 取 创建时间
	 * @return Date
	 */
	public Date getdCreateDate() {
		return dCreateDate;
	}

	/**
	 * 设置创建时间
	 * @param dCreateDate
	 */
	public void setdCreateDate(Date dCreateDate) {
		this.dCreateDate = dCreateDate;
	}

	/**
	 * 取 修改人员
	 * @return String
	 */
	public String getsModifieder() {
		return sModifieder;
	}

	/**
	 * 设置修改人员
	 * @param sModifieder
	 */
	public void setsModifieder(String sModifieder) {
		this.sModifieder = sModifieder;
	}

	/**
	 * 取 修改时间
	 * @return Date
	 */
	public Date getdModifiedDate() {
		return dModifiedDate;
	}

	/**
	 * 设置修改时间
	 * @param dModifiedDate
	 */
	public void setdModifiedDate(Date dModifiedDate) {
		this.dModifiedDate = dModifiedDate;
	}

	/**
	 * 取 状态
	 * @return Integer
	 */
	public Integer getiState() {
		return iState;
	}

	/**
	 * 设置状态
	 * @param iState
	 */
	public void setiState(Integer iState) {
		this.iState = iState;
	}

	/**
	 * 取 序号
	 * @return Integer
	 */
	public Integer getiIndex() {
		return iIndex;
	}

	/**
	 * 设置序号
	 * @param iIndex
	 */
	public void setiIndex(Integer iIndex) {
		this.iIndex = iIndex;
	}

	/**
	 * 取 版本号
	 * @return Integer
	 */
	public Integer getiVersion() {
		return iVersion;
	}

	/**
	 * 设置版本号
	 * @param iVersion
	 */
	public void setiVersion(Integer iVersion) {
		this.iVersion = iVersion;
	}

	/**
	 * 复制对象
	 * @param source 数据源
	 * @return NotesBase
	 */
	public static NotesBase copy(NotesBase source) {
		if (null == source) {
			return null;
		}
		
		NotesBase target = new NotesBase();
		target.setsId(source.getsId());
		target.setsUserId(source.getsUserId());
		target.setsUserName(source.getsUserName());
		target.setsTitle(source.getsTitle());
		target.setiYear(source.getiYear());
		target.setiMonth(source.getiMonth());
		target.setiDay(source.getiDay());
		target.setsContent(source.getsContent());
		target.setiType(source.getiType());
		target.setiViewType(source.getiViewType());
		target.setsFilePath(source.getsFilePath());
		target.setsMemo(source.getsMemo());
		target.setsCreator(source.getsCreator());
		target.setdCreateDate(source.getdCreateDate());
		target.setsModifieder(source.getsModifieder());
		target.setdModifiedDate(source.getdModifiedDate());
		target.setiState(source.getiState());
		target.setiIndex(source.getiIndex());
		target.setiVersion(source.getiVersion());

		return target;
	}
	
	/**
	 * 克隆对象
	 * @return NotesBase
	 */
	public NotesBase clone() {
		return copy(this);
	}
	
}
